VBA应用技巧:检查文件夹是否已存在

您所在的位置:网站首页 excel vba判断文件是否存在 VBA应用技巧:检查文件夹是否已存在

VBA应用技巧:检查文件夹是否已存在

2024-07-11 20:50| 来源: 网络整理| 查看: 265

标签:VBA,Dir函数,MkDir语句

在使用VBA操作文件时,如果不先核实要操作的文件夹是否已存在,则有可能会导致代码出错。例如,在创建文件夹时、在到指定的文件夹中获取文件时。因此,我们需要先使用代码判断是否已存在相应的文件夹。

创建文件夹时要执行的代码是使用Dir函数和MkDir函数。如果文件夹已存在,Dir函数将生成null结果。或者,生成句点“.”由于这个结果的布尔属性,因此可以捕获null(空)结果并创建一个新文件夹,而忽略句点结果,这意味着什么都不会发生。

示例代码:

Sub FolderVBA()

Dim i As Integer

Dim str As String

Dim fol As String

For i = 1 To 5

str = "C:\MyFiles\" & Range("A" & i) & "\"

fol = Dir(str, vbDirectory)

If fol = "" Then MkDir "C:\MyFiles\" & Range("A" & i)

Next i

End Sub

在上面的示例中,需要检查5个文件夹。这5个文件夹的名字存储在工作表单元格区域A1:A5中。对于5个文件夹中已经存在的文件夹,代码将不起任何作用。然而,如果该文件夹不存在,则会创建一个新文件夹。

字符串生成“”或“.”是因为只有两种可能性,IF语句可以测试“”(空),然后用使用MkDir语句生成新文件夹。

注意,在str的代码中包含了反斜杠,如果不使用反斜杠,会出现各种问题。

注:学习整理自thesmallman.com,供参考。有兴趣的朋友可以到原网站下载示例工作簿,也可以到知识星球App完美Excel社群下载示例工作簿。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3